package com.spring.web.adminmanage.service;


import com.spring.web.adminmanage.common.PageResult;
import com.spring.web.adminmanage.entities.User;

import java.util.List;


/**
 * 基础服务类
 * @author lilinfeng
 */
public interface WebUserService extends BaseService<User>{

	/**
	 * 获取后台用户列表数据
	 * @param pageIndex
	 * @param pageSize
	 * @param user
	 * @return
	 */
	PageResult<User> queryPageResult(int pageIndex, int pageSize, User user);

	/**
	 * 对user对象新增和修改操作
	 * @param user
	 */
	void operUser(User user);

	/**
	 * 删除user对象
	 * @param user
	 */
	void delUser(User user);

	/**
	 * 根据id获取user对象
	 * @param user
	 * @return
	 */
	User getUserById(User user);
	/**
	 * 检查用户名是否唯一
	 * @param user
	 * @return
	 */
	Boolean checkUserName(User user);
	
	/**
	 * 根据用户名获取用户对象
	 * @param user
	 * @return
	 */
	User getUserByUsername(User user);
	
	void updateUser(User user);

	/**
	 * 重置密码
	 * @param user
	 */
	String resetPwd(User user);

	/**
	 * 获取所有普通用户
	 * @param user
	 * @return
	 */
	List<User> getComUserList(User user);

	/**
	 * 查询user
	 * @param sessionUser
	 * @return
	 */
	User findUser(User sessionUser);

	/**
	 * 通过id修改用户信息
	 * @param user
	 */
	void updateUserById(User user);


}